#pragma once

#include <string>

#include "Room.h"

namespace BoardItems
{
	enum PLAYER_PIECE_COLOUR { RED, GREEN, PURPLE, WHITE, YELLOW, BLUE };
	enum WEAPON_PIECE_TYPE { CANDLESTICK, DAGGER, LEAD_PIPE, REVOLVER, ROPE, SPANNER };

	class Piece
	{
	public:
		Room* room;
		Piece(void);
		virtual std::string getName() = 0;
	};

	class PlayerPiece: public Piece
	{
		PLAYER_PIECE_COLOUR colour;

	public:
		PlayerPiece(PLAYER_PIECE_COLOUR);
		std::string getName();
	};

	class WeaponPiece: public Piece
	{
		WEAPON_PIECE_TYPE type;

	public:
		WeaponPiece(WEAPON_PIECE_TYPE);
		std::string getName();
	};

}
